insert into asm_GISEL

select 
concat (case when stato_contratto = 'A' then '99999999' else to_char(co.DATA_CHIUSURA_RICHIESTA,'yyyymmdd') end,
substr(concat('00000000',co.codice_contratto),-8,8)) seq,




' ' "Fase",
concat ('IT018E',concat(substr(concat ('000000000',fo.codice_allacciamento),-7,7),substr(concat('0000',fo.progressivo_utenza),-1,1))) "POD",
' ' "Gruppo_pod",
ut.codice_modello_contatore_1,
ut.MATRICOLA_CONTATORE_1 "Matricola contatore",

co.DATA_AVVIO "Data Inizio Contratto",
co.DATA_CHIUSURA " Data Fine Contratto",
'D' "Tipo di contratto",
co.codice_contratto "Codice_contratto",
co.STATO_CONTRATTO "Stato Contrattuale",
decode (CO.CODICE_TIPO_USO  ,'R','D','N','D','N') "Tipo Cliente",
ut.POTENZA_massima "Potenza disponibile"  ,
'0' "RT",
pe.NOMINATIVO_RAG_SOC " Ragione Sociale",
co.codice_utente "Codice_Cliente",
concat(concat(concat(concat(trim(indirizzi.TOPONIMO_VIA),' '),
              concat(trim(indirizzi.PREFISSO_VIA),' ')),
       concat(concat(trim(indirizzi.DENOMINAZIONE_VIA),' '),
              concat(trim(indirizzi.CIVICO),' '))),
concat(concat(trim(indirizzi.ESTENSIONE_CIVICO),' '),


       concat(concat(trim(indirizzi.comune),' '),
       concat(trim(indirizzi.PROVINCIA),' ')))) "Indirizzo di Fornitura",
concat(concat(concat(concat(trim(indi.TOPONIMO_VIA),' '),
              concat(trim(indi.PREFISSO_VIA),' ')),
       concat(concat(trim(indi.DENOMINAZIONE_VIA),' '),
              concat(trim(indi.CIVICO),' '))),
concat(concat(trim(indi.ESTENSIONE_CIVICO),' '),


       concat(concat(trim(indi.comune),' '),
       concat(trim(indi.PROVINCIA),' ')))) "Indirizzo di Recapito",
       
 indirizzi.comune "Comune",
 ' ' "Ambito",
 ' ' "Codice venditore",
 decode (ca.CODICE_UTENTE_ALT,'PRODUTTORE','P','U') "Tipo Fornitura",
 ut.TENSIONE_PREVISTA,'DB1'


from db1.contratti@pgu3 co,db1.forniture@pgu3 fo,db1.utenze@pgu3 ut,--,asm_gisel_exe ex,
     db1.persone@pgu3 pe,db1.indirizzi@pgu3,db1.contratti_aggregazioni@pgu3 ca,db1.indirizzi@pgu3 indi,db5.gruppi@pgu3 gr
     
     


where co.STATO_CONTRATTO <> 'S' AND co.STATO_CONTRATTO <> 'E'  
 and co.codice_servizio = 'E'
  and gr.CODICE_TIPO_USO=co.CODICE_TIPO_USO
 and gr.CODICE_TARIFFA=co.CODICE_TARIFFA
 and gr.CODICE_USO=co.CODICE_USO

 and  (to_number(to_char(co.DATA_CHIUSURA,'yyyy')) >= ^Anno Competenza aaaa;N;NUMERICO^^-1
         or to_number(to_char(co.DATA_CHIUSURA,'yyyy'))=0)
  --        and gr.rag_uso_1 like case when  ^Tensione B o M;A;ALFABETICO^^ ='B' then '%bt%' else '%mt%' end
and fo.codice_gestione = co.codice_gestione
and fo.codice_servizio = co.codice_servizio
and fo.codice_contratto = co.codice_contratto
and fo.codice_gestione = ut.codice_gestione
and fo.codice_servizio = ut.codice_servizio
and fo.codice_allacciamento = ut.codice_allacciamento
and fo.progressivo_utenza = ut.progressivo_utenza
and ut.TENSIONE_PREVISTA = 'B'
and fo.codice_gestione = ca.codice_gestione
and co.codice_utente = ca.codice_utente
and ca.CODICE_PERSONA_UTILIZZATORE = pe.CODICE_PERSONA
and ut.CODICE_INDIRIZZO_CONTATORE = indirizzi.CODICE_INDIRIZZO
and ca.CODICE_INDIRIZZO_SPEDIZIONE= indi.CODICE_INDIRIZZO
and ut.STATO_utenza in('D','A','C') 
and (co.stato_contratto = 'A' or co.DATA_CHIUSURA >= to_date('01/01/2009','dd/mm/yyyy'))
--and co.DATA_AVVIO <= to_date ('01/01/2011','dd/mm/yyyy')
and co.CODICE_CAUSALE_CONTRATTO <> 'UE-A' 
and co.CODICE_CAUSALE_CONTRATTO <> 'UE-F'
--and ex.pod(+)=concat ('IT018E',concat(substr(concat ('000000000',fo.codice_allacciamento),-7,7),substr(concat('0000',fo.progressivo_utenza),-1,1)))
and co.DATA_STIPULAZIONE <> co.DATA_CHIUSURA 


